<?php
namespace Admin\Model;
use Think\Model;
class AdminModel extends Model
{
	protected $insertFields = array('username','mobile','password','project_id','status','privilege_id');
	protected $updateFields = array('id','username','mobile','password','project_id','status','privilege_id');
	protected $_validate = array(
		array('username', 'require', '用户名不能为空！', 1, 'regex', 3),
		array('username', '1,255', '用户名的值最长不能超过 255 个字符！', 1, 'length', 3),
		array('mobile', 'require', '手机号不能为空！', 1, 'regex', 3),
		array('mobile', '1,200', '手机号的值最长不能超过 200 个字符！', 1, 'length', 3),
		array('password', 'require', '密码不能为空！', 1, 'regex', 3),
		array('password', '1,200', '密码的值最长不能超过 200 个字符！', 1, 'length', 3),

	);
	public $_login_validate = array(

		array('username', 'require', '账号不能为空！', 1),
		array('password', 'require', '密码不能为空！', 1)
	);
	public function login()
	{
		// 先取出用户提交的用户名和密码
		// 可以从模型中取，因为我们会在控制器中调用模型的create方法接收表单【$model->create()】，这个方法就接收表单数据并放到模型中的
		$username = $this->username;
		$password = $this->password;
		// 账号是否存在
		$user = $this->where(array(
			'username' => array('eq', $username)
		))->find();
		if($user)
		{
			if($user['status']==1)
			{
					if($user['password'] == $password)
				{
					// 登录成功把ID和username存到session中
					session('id', $user['id']);
					session('username', $user['username']);
					return TRUE;
				}
				else
				{
					$this->error = '密码不正确！';
					return FALSE;
				}
			}else
			{
				    $this->error = '用户已被停用，请联系管理员';
					return FALSE;
			}
		}
		else
		{
			$this->error = '账号不存在！';
			return FALSE;
		}
	}
	public function search($pageSize = 20)
	{
		/**************************************** 搜索 ****************************************/
		$where = array();
		if($username = I('get.username'))
			$where['username'] = array('like', "%$username%");
		if($mobile = I('get.mobile'))
			$where['mobile'] = array('like', "%$mobile%");
		if($password = I('get.password'))
			$where['password'] = array('like', "%$password%");
		if($project_id = I('get.project_id'))
			$where['project_id'] = array('like', "%$project_id%");
		if($status = I('get.status'))
			$where['status'] = array('eq', $status);
		if($privilege_id = I('get.privilege_id'))
			$where['privilege_id'] = array('eq', $privilege_id);
		/************************************* 翻页 ****************************************/
		$count = $this->alias('a')->where($where)->count();
		$page = new \Think\Page($count, $pageSize);
		// 配置翻页的样式
		$page->setConfig('prev', '上一页');
		$page->setConfig('next', '下一页');
		$data['page'] = $page->show();
		/************************************** 取数据 ******************************************/
		$data['data'] = $this->alias('a')->where($where)->group('a.id')->limit($page->firstRow.','.$page->listRows)->select();
		return $data;
	}
	// 添加前
	protected function _before_insert(&$data, $option)
	{
		
	}
	// 修改前
	protected function _before_update(&$data, $option)
	{
		
	}
	// 修改后
	protected function _after_update(&$data, $option)
	{
		
	}
	// 删除前
	protected function _before_delete($option)
	{
		if(is_array($option['where']['id']))
		{
			$this->error = '不支持批量删除';
			return FALSE;
		}
	}
	/************************************ 其他方法 ********************************************/
}
